home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 (Alt) / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_2697 / frame_1 / DoAction.as
Encoding:
Text File  |  2011-06-09  |  6.0 KB  |  264 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var active = false;
  9.    var xTar = 0;
  10.    xscale = _xscale;
  11.    var attacking = false;
  12.    var hitSound = new Sound();
  13.    var die = false;
  14.    hitSound.attachSound("punch5");
  15.    var removeNum = 100;
  16.    var melt = false;
  17.    var startX = _X;
  18.    var startY = _Y;
  19.    var bat = false;
  20.    var health = 1;
  21.    var mNum = 0;
  22.    var bat = false;
  23.    var setVars = true;
  24. }
  25. stop();
  26. var getFrame = function()
  27. {
  28.    if(die == true)
  29.    {
  30.       frame = "die";
  31.    }
  32.    else if(melt == true)
  33.    {
  34.       frame = "melt";
  35.    }
  36.    else if(bat == true)
  37.    {
  38.       frame = "hit";
  39.    }
  40.    else if(running == false && attacking == false && falling == false)
  41.    {
  42.       frame = "stand";
  43.    }
  44.    else if(falling == true)
  45.    {
  46.       frame = "stand";
  47.    }
  48.    else if(attacking == true)
  49.    {
  50.       frame = "attack";
  51.    }
  52.    gotoAndStop(frame);
  53. };
  54. var onEnterFrame = function()
  55. {
  56.    _root.checkVis(this);
  57.    if(_root.remake == true)
  58.    {
  59.       die = false;
  60.       melt = false;
  61.       removeNum = 100;
  62.       _X = startX;
  63.       _Y = startY;
  64.       active = false;
  65.       bat = false;
  66.       _visible = true;
  67.       _alpha = 100;
  68.       health = 1;
  69.    }
  70.    if(_root.pauseMode == false)
  71.    {
  72.       if(active == true)
  73.       {
  74.          if(die == false && melt == false && bat == false)
  75.          {
  76.             if(_root.candy.hitTest(hit))
  77.             {
  78.                if(_root.candy.dir == "left")
  79.                {
  80.                   _root.candy.dir = "right";
  81.                }
  82.                else
  83.                {
  84.                   _root.candy.dir = "left";
  85.                }
  86.                hitSound.start();
  87.                hitSound.start();
  88.                if(health < 1)
  89.                {
  90.                   die = true;
  91.                }
  92.                else
  93.                {
  94.                   bat = true;
  95.                   health -= 1;
  96.                }
  97.             }
  98.             else if(_root.cm.g.hit.hitTest(hit))
  99.             {
  100.                hitSound.start();
  101.                if(health < 1)
  102.                {
  103.                   die = true;
  104.                }
  105.                else
  106.                {
  107.                   bat = true;
  108.                   health -= 1;
  109.                }
  110.             }
  111.             else if(_root.cm.g.sparkle.hitTest(hit))
  112.             {
  113.                melt = true;
  114.             }
  115.             if(attacking == false)
  116.             {
  117.                if(_root.cm._x > _X)
  118.                {
  119.                   _xscale = - xscale;
  120.                }
  121.                else if(_root.cm._x < _X)
  122.                {
  123.                   _xscale = xscale;
  124.                }
  125.             }
  126.             if(!bound.hitTest(_root.cm))
  127.             {
  128.                if(attacking == false)
  129.                {
  130.                   running = true;
  131.                   if(_root.cm._x > _X)
  132.                   {
  133.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  134.                      {
  135.                         xTar += addSpeed;
  136.                      }
  137.                   }
  138.                   else if(_root.cm._x < _X)
  139.                   {
  140.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  141.                      {
  142.                         xTar -= addSpeed;
  143.                      }
  144.                   }
  145.                }
  146.             }
  147.             else
  148.             {
  149.                running = false;
  150.                if(xTar > 0)
  151.                {
  152.                   xTar -= addSpeed;
  153.                }
  154.                else if(xTar < 0)
  155.                {
  156.                   xTar += addSpeed;
  157.                }
  158.                mNum++;
  159.                num = random(50);
  160.                if(arr._currentframe == 1 && (num == 1 or mNum == 30) && attacking == false && falling == false && running == false)
  161.                {
  162.                   mNum = 0;
  163.                   attacking = true;
  164.                }
  165.             }
  166.          }
  167.          else
  168.          {
  169.             if(removeNum < 0)
  170.             {
  171.                if(_alpha > 0)
  172.                {
  173.                   _alpha = _alpha - 1;
  174.                }
  175.                else
  176.                {
  177.                   _visible = false;
  178.                }
  179.             }
  180.             else
  181.             {
  182.                removeNum -= 1;
  183.             }
  184.             if(xTar > 0)
  185.             {
  186.                xTar -= addSpeed;
  187.             }
  188.             else if(xTar < 0)
  189.             {
  190.                xTar += addSpeed;
  191.             }
  192.          }
  193.          if(xTar > moveSpeed)
  194.          {
  195.             xTar = moveSpeed;
  196.          }
  197.          else if(xTar < - moveSpeed)
  198.          {
  199.             xTar = - moveSpeed;
  200.          }
  201.          if(_root.bound.hitTest(_X,_Y + 1,true))
  202.          {
  203.             falling = false;
  204.          }
  205.          else
  206.          {
  207.             falling = true;
  208.          }
  209.          if(falling == true)
  210.          {
  211.             grav = 0;
  212.             switched = false;
  213.             i = 0;
  214.             while(i < gravity)
  215.             {
  216.                if(switched == false)
  217.                {
  218.                   if(_root.bound.hitTest(_X,_Y + i,true))
  219.                   {
  220.                      switched = true;
  221.                   }
  222.                   else
  223.                   {
  224.                      grav = i;
  225.                   }
  226.                }
  227.                i++;
  228.             }
  229.             _Y = _Y + i;
  230.             if(gravity < maxGravity)
  231.             {
  232.                gravity += airSpeed;
  233.             }
  234.          }
  235.          else
  236.          {
  237.             gravity = 0;
  238.          }
  239.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  240.          {
  241.             _Y = _Y - 0.5;
  242.          }
  243.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  244.          {
  245.             g.stop();
  246.          }
  247.          else
  248.          {
  249.             g.play();
  250.          }
  251.       }
  252.       if(_root.cam.hitTest(this))
  253.       {
  254.          active = true;
  255.       }
  256.    }
  257.    else
  258.    {
  259.       stop();
  260.       g.stop();
  261.    }
  262.    getFrame();
  263. };
  264.